﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B303Langf.Parser.AST
{
   public class ForStatement : Statement
   {
      public ForStatement(
         Expression initializationExpression,
         Expression conditionExpression,
         Expression incrementationExpression,
         Block block )
      {
         InitializationExpression = initializationExpression;
         ConditionExpression = conditionExpression;
         IncrementationExpression = incrementationExpression;
         Block = block;
      }

      public Expression InitializationExpression
      {
         get;
         private set;
      }

      public Expression ConditionExpression
      {
         get;
         private set;
      }

      public Expression IncrementationExpression
      {
         get;
         private set;
      }

      public Block Block
      {
         get;
         private set;
      }

      public override object Visit( IVisitor v, object obj )
      {
         return v.VisitForStatement( this, obj );
      }
   }
}
